# -*- coding: utf-8 -*-
import hildon
import gtk
import sys
from cesta import cesta

class bmi:
    
    
    def on_page_switch(self, notebook, page, num, dialog, vahae, vyskae, label_2):
        print >>sys.stderr, "Page %d" % num;
        
        if num == 2:
            if vahae.get_text() != "" and vyskae.get_text() != "":
                vaha = int(vahae.get_text().replace(" ", ""));
                vyska = float(vyskae.get_text().replace(",", ".").replace(" ", ""));
            
                vysledek = self.vypocitej(vaha, vyska);
            
                label_2.set_text(vysledek);
            else:
                label_2.set_text("Nezadal jste vysku a vahu!");
            
    def rizika(self, bmi):
        print bmi
        if bmi < 18.50:
            return "\nKategorie: podvaha\nZdravotni rizika: vysoka";
        if 24.9 > bmi:
            return "\nKategorie: norma\nZdravotni rizika: minimalni";
        if 29.9 > bmi:
            return "\nKategorie: nadvaha\nZdravotni rizika: nizka az lehce vyssi";
        if 34.9 > bmi:
           return "\nKategorie: obezita 1.stupne\nZdravotni rizika: zvysena";
        if 39.9 > bmi:
            return "\nKategorie: obezita 2.stupne(zavazna)\nZdravotni rizika: vysoka";
        if bmi > 40.0:
            return "\nKategorie: obezita 3.stupne(tezka)\nZdravotni rizika: velmi vysoka";
            
            
    
    def vypocitej(self, vaha, vyska):
        print vaha, vyska
        
        mezi = "BMI index: ";
        
        vysledek = round(vaha / (vyska * vyska), 2);
        vysledeks = str(vysledek);
        
        mezi = mezi + vysledeks;
        mezi = mezi + self.rizika(vysledek);
        
        return mezi
        
        
    
        
    
    def __init__(self, widget):
        notebook = gtk.Notebook()
        
        label_1 = gtk.Label("V nasledujicim kroku napiste vasi vahu a vysku");
        label_2 = gtk.Label("");
        
        notebook.append_page(label_1, None)
        
        hb1 = gtk.HBox()
        vahal = gtk.Label("Vase vaha v kg:");
        hb1.pack_start(vahal, False);        
        vahae = hildon.Entry(size=0); 
        hb1.pack_start(vahae, False);
        
        hb2 = gtk.HBox()
        vyskal = gtk.Label("Vase vyska v m:");
        hb2.pack_start(vyskal, False);
        vyskae = hildon.Entry(size=0);
        hb2.pack_start(vyskae, False);
        
        vb = gtk.VBox();
        vb.pack_start(hb1, False);
        vb.pack_start(hb2, False);
        
        notebook.append_page(vb, None);
        notebook.append_page(label_2, None);
        
        dialog = hildon.WizardDialog(None, "Vypocet BMI indexu", notebook)
        notebook.connect("switch-page", self.on_page_switch, dialog, vahae, vyskae, label_2)
        
        dialog.show_all();
        dialog.run();
        dialog.destroy() 
        